home *** CD-ROM | disk | FTP | other *** search
/ PD Collection CD 1 / PD Collection CD 1.iso / programer2 / euclidlib / !ReadMe next >
Text File  |  1992-05-14  |  5KB  |  122 lines

  1. The Euclid C Library (V0.02) By Paul Field
  2. ==========================================
  3.  
  4. This software provides a simple interface to the euclid module and structures
  5. to aid accessing the euclid data structure. It also provides high-level
  6. functions for plotting functions, converting euclid pictures into sprites and 
  7. displaying euclid pictures in windows.
  8.  
  9. The important files are :
  10.    euclidswis.h - Macros that expand to euclid SWI numbers
  11.    cache.*      - Routines to moderate use of a single cache between
  12.                   multitasking processes
  13.    edraw.*      - Provides a nice interface to 'euclid_draw'
  14.    esprite.*    - Routine to convert euclid pictures to sprites
  15.    euclid.*     - Low-level structures and code to interface to the Euclid
  16.                   module
  17.    ewindow.*    - Routines to create and manipulate windows with euclid
  18.                   pictures in them
  19.    function.*   - Routine to create graphs of functions
  20.    shape.*      - Routines to create different shapes
  21.    Makefile     - Compiles and links 'euclid_lib'
  22.    MakeEx       - Compiles and links 'example'
  23.       (You will have to alter the make files so that they know where the
  24.        C libraries are on your system)
  25.  
  26. The program 'example' shows just about all the features of the euclid library.
  27. See its !Help file for details.
  28.  
  29. There are likely to be two problems with the software as it stands
  30.  i) The code is based on information in docs.structure and docs.SWIS
  31.     (on the euclid disc) and docs.raytrace (on the arclight disc)
  32.     which may be out of date.
  33.     Some of the information is also inaccurate, for example some of the
  34.     SWI numbers given in docs.SWIS are wrong :
  35.        Euclid_Set    should be &80648
  36.        Euclid_Rotate should be &8064E
  37.        Euclid_Zoom   should be &8064D
  38.     In ArcLight.Docs.RayTrace, Euclid_Draw:
  39.        The information block for timed out calls is returned in R2 NOT R1.
  40.  
  41. ii) The code has been tested fairly thoroughly but some of it is quite complex
  42.     and I may not have tested all cases (especially error cases - all errors
  43.     should be handled OK, but I haven't tested this for all cases).
  44.     There may some problems with the structures in euclid.h - in some places
  45.     I was unsure whether to use signed or unsigned integers.
  46.  
  47. This library of routines is in an early stage of development and it will
  48. only grow with your help and support. Please contact me if :
  49.  You find any bugs.
  50.  You can suggest any improvements to the existing code.
  51.  You can suggest new functions or modules that would be useful.
  52.  You have written code that you would like to be included in the library.
  53.  You just liked the software and found it useful - It is very encouraging for
  54.  a programmer to know that the work put into a project has been worthwhile.
  55.  
  56.  
  57. Version details
  58. ===============
  59.  
  60. V0.02 - Altered 'euclid_draw' in light of information in !Arclight.Docs.Raytrace
  61.       - Added 'edraw', 'ewindow', 'esprite', 'shape' and 'cache' routines
  62.       - Rewrote 'example' to show off all the new modules
  63.  
  64.  
  65. Things to do (Maybe)
  66. ====================
  67.  
  68. 1) Sort out the palette problems that occur when you try to draw into sprites
  69.    that have a different number of colours to the current mode.
  70. 2) Write 'film' - routines to load/save/create/playback etc films.
  71. 3) Alter 'cache' to become a more general 'process' control module and
  72.    define the interface to a process.
  73. 4) Allow various objects (e.g. drawing cache/picture structure) to be in flex blocks.
  74. 5) Routines to convert between draw files and euclid files
  75. 6) Routines to handle 'object viewer windows' as in the euclid editor
  76. 7) Some sort of picture viewer - displays the whole euclid structure as a tree
  77.  
  78.  
  79. --------------------------------------------------------------------------------
  80.  
  81. 'Free' software comes from the goodwill of programmers. They often put a lot
  82. of effort into software from which they receive no financial gain. However,
  83. to stop less altruistic people taking advantage of their work, it is standard
  84. practice to include some restrictions on copying for profit and the use of the
  85. software.
  86.  
  87.  
  88. Here are the restrictions for the 'Euclid C library' software V0.02.
  89.  
  90. Distribution:
  91. This software may be freely copied as long as no profit is made from its
  92. distribution (a reasonable copying and media charge may be made) and all
  93. files are included unchanged.
  94.  
  95. Usage:
  96. This software may be used in other programs (excluding commercial software)
  97. as long as identification of this software and its author is made in any
  98. program credits.
  99. For permission to use the library in commercial software please contact
  100. the author.
  101.  
  102. Modifications:
  103. The distribution of modified versions of the software is prohibited
  104. (see distribution). If you have made an alteration to the software, send me
  105. details of the change and I may include the alteration in a new version of
  106. the software (which I will send to you). I retain copyright of the code at
  107. all times.
  108.  
  109.  
  110. These restrictions apply to version 0.02 of the software and I reserve the
  111. right to change them for future versions of the software.
  112.  
  113.  
  114. Paul Field
  115. 3, Little Heath
  116. Chadwell Heath
  117. Romford
  118. Essex
  119. RM6 4XX
  120.  
  121. email: paulf@dcs.qmw.ac.uk   (Until the end of 1994)
  122.